package com.scada.inf;

import java.util.List;
import java.util.Map;

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

import com.scada.model.bean.SysMenu;
import com.scada.model.bean.vo.MenuVO;
import com.scada.model.result.ResponseBean;


@WebService
@SOAPBinding(style = Style.RPC)
public interface MenuVisitor {
	
	/**
	 * 查询二级三级的菜单数据
	 * 黄胜
	 * 2016-10-14
	 * @return
	 */
	public List<MenuVO> selectMenuList(Map<String, Object> map);
	
	/**
	 * 查询首页里面一级菜单数据
	 * 黄胜
	 * 2016-10-14
	 * @return
	 */
	public List<SysMenu> selectMenuIsleaf(Map<String, Object> map);
	
	/** 
	 * @FunctionName: findLeftMenuByUser
	 * @Description: 通过人员权限查询
	 * @author: 沈浩
	 * @date: 2016年12月13日 上午10:57:23 
	 * @param userId
	 * @return 
	 */
	public List<SysMenu> findLeftMenuByUser(Integer userId);
	
	/** 
	 * @FunctionName: findLeftMenuById
	 * @Description: 根据用户ID查询权限菜单的下级权限
	 * @author: 沈浩
	 * @date: 2016年12月13日 下午3:15:44 
	 * @param userId
	 * @param id
	 * @return 
	 */
	public List<MenuVO> findLeftMenuById(Integer userId, Integer id);
	
	/** 
	 * @FunctionName: selectAllData
	 * @Description:  查找所有菜单数据
	 * @author: 黄胜
	 * @date: 2016年10月28日 下午3:33:15 
	 * @param state 状态 0 ：显示 1： 删除
	 * @return SysMenu
	 */
	public List<SysMenu> selectAllData(int state);
	
	/** 
	 * @FunctionName: selectAllMenuAndPermission
	 * @Description: 菜单树查询
	 * @Description: 级联查询树形结构的菜单树 并且查询权限
	 * @author: 沈浩
	 * @date: 2016年11月2日 上午11:41:53 
	 * @return key值 menuAndPerList MenuAndPermissionVO对象 其中包括下级菜单和权限
	 */
	public ResponseBean selectAllMenuAndPermission();
}
